#ifndef MESSAGEEDITAREA_H
#define MESSAGEEDITAREA_H

#include <QWidget>
#include <QPushButton>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QPlainTextEdit>
#include "historymessagewidget.h"
#include "debug.h"
#include "model/datacenter.h"
#include "toast.h"
#include <QFileDialog>



class MessageEditArea : public QWidget
{
    Q_OBJECT
public:
    MessageEditArea(QWidget* owner);

    //四种小按钮
    QPushButton* sendImageBtn;
    QPushButton* sendFileBtn;
    QPushButton* sendSoundBtn;
    QPushButton* showHistoryBtn;

    //文本输入框
    QPlainTextEdit* textEdit;
    //语音录制时的提示
    QLabel* tipLabel;

    //发送消息
    QPushButton* sendBtn;

    //初始化信号槽关联
    void initSignalsAndSlots();

    //发送文本消息
    void sendTextMessage();
    //将文本消息添加到显示区域上
    void addSelfMessage(const QByteArray &content, model::MessageType type, const QString &extraInfo);
    void addOtherMessage(const model::Message& message);

    //发送图片消息
    void clickSendImageBtn();
    //发送文件消息
    void clickSendFileBtn();
    //发送语音消息
    //按下录制
    void soundRecordPressed();
    //结束录制
    void soundRecordReleased();
    //发送录制
    void sendSound(const QString &path);


private:
    QWidget* owner;
};

#endif // MESSAGEEDITAREA_H
